package homework.day01;

import java.io.File;
import java.io.FileFilter;

/**
 * 列出当前目录中所有名字包含s的子项。
 * <p>
 * 使用匿名内部类和lambda两种写法
 * <p>
 * 单词记一记:
 * FileFilter   文件过滤器
 * accept       接受
 */
public class Test02 {
    public static void main(String[] args) {
        /*//1.匿名内部类方法
        File dir = new File(".");
        if (dir.isDirectory()) {
            //使用匿名内部类创建一个文件过滤器
            FileFilter filter = new FileFilter() {
                @Override
                public boolean accept(File pathname) {
                    return pathname.getName().contains("s");
                }
            };
            File[] files = dir.listFiles(filter);
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }*/
        //2.lambda
        File dir = new File(".");
        if (dir.isDirectory()) {
            //使用匿名内部类创建一个文件过滤器
            File[] files = dir.listFiles(f->f.getName().contains("s"));
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }
    }
}
